﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;


/// <summary>
/// Descripción breve de WS_MovHoteles
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Para permitir que se llame a este servicio Web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
// [System.Web.Script.Services.ScriptService]
public class WS_MovHoteles : System.Web.Services.WebService {

    public WS_MovHoteles () {

        //Eliminar la marca de comentario de la línea siguiente si utiliza los componentes diseñados 
        //InitializeComponent(); 
    }

    string cadena = "server=HENRY-PC\\SQLEXPRESS;database=Silvana02;Integrated Security=SSPI";
    //string cadena = "server=.;database=Silvana02;Integrated Security=SSPI";

    SqlConnection cnx = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    DataSet dts = new DataSet();
    SqlDataAdapter ada = new SqlDataAdapter();


    [WebMethod]
    public DataSet ConsultarVctosxHoteles(float nFecDesde, float nFecHasta)
    {

        try
        {
            dts.Clear();
            cnx.ConnectionString = cadena;
            cmd.Connection = cnx;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "usp_ConsultarVctosxHoteles";
            cmd.Parameters.Add(new SqlParameter("@vnfecdesde", SqlDbType.Float));
            cmd.Parameters.Add(new SqlParameter("@vnfechasta", SqlDbType.Float));
            cmd.Parameters["@vnfecdesde"].Value = nFecDesde;
            cmd.Parameters["@vnfechasta"].Value = nFecHasta;
            ada = new SqlDataAdapter(cmd);
            ada.Fill(dts, "ConsultarVctosxHoteles");

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

        return dts;
    }

    [WebMethod]
    public bool ActualizaDetallexHoteles(
        string vdnro_int, string vnro_grupo, float vfec_desde, float vfec_hasta,
        float vnro_noche, float vcb, float vab, float vbuff, float valm, string vfec_alm,
        float vcena, string vfec_cena, string vobserva, string vscodlocal, string vsdeslocal,
        string vhora_rese
        )
    {

        bool exito = false;
        SqlCommand cmd = new SqlCommand();

        //Se configura el comando: Store Procedure
        cnx.ConnectionString = cadena;
        cmd.Connection = cnx;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "usp_ActualizaDetalleHoteles";
        cmd.Parameters.Add(new SqlParameter("@vdnro_int", SqlDbType.VarChar, 10));
        cmd.Parameters["@vdnro_int"].Value = vdnro_int;
        cmd.Parameters.Add(new SqlParameter("@vnro_grupo", SqlDbType.VarChar, 10));
        cmd.Parameters["@vnro_grupo"].Value = vnro_grupo;
        cmd.Parameters.Add(new SqlParameter("@vfec_desde", SqlDbType.Float));
        cmd.Parameters["@vfec_desde"].Value = vfec_desde;
        cmd.Parameters.Add(new SqlParameter("@vfec_hasta", SqlDbType.Float));
        cmd.Parameters["@vfec_hasta"].Value = vfec_hasta;
        cmd.Parameters.Add(new SqlParameter("@vnro_noche", SqlDbType.Float));
        cmd.Parameters["@vnro_noche"].Value = vnro_noche;
        cmd.Parameters.Add(new SqlParameter("@vcb", SqlDbType.Float));
        cmd.Parameters["@vcb"].Value = vcb;
        cmd.Parameters.Add(new SqlParameter("@vab", SqlDbType.Float));
        cmd.Parameters["@vab"].Value = vab;
        cmd.Parameters.Add(new SqlParameter("@vbuff", SqlDbType.Float));
        cmd.Parameters["@vbuff"].Value = vbuff;
        cmd.Parameters.Add(new SqlParameter("@valm", SqlDbType.Float));
        cmd.Parameters["@valm"].Value = valm;
        cmd.Parameters.Add(new SqlParameter("@vfec_alm", SqlDbType.VarChar, 40));
        cmd.Parameters["@vfec_alm"].Value = vfec_alm;
        cmd.Parameters.Add(new SqlParameter("@vcena", SqlDbType.Float));
        cmd.Parameters["@vcena"].Value = vcena;
        cmd.Parameters.Add(new SqlParameter("@vfec_cena", SqlDbType.VarChar, 40));
        cmd.Parameters["@vfec_cena"].Value = vfec_cena;
        cmd.Parameters.Add(new SqlParameter("@vobserva", SqlDbType.VarChar, 80));
        cmd.Parameters["@vobserva"].Value = vobserva;
        cmd.Parameters.Add(new SqlParameter("@vscodlocal", SqlDbType.VarChar, 05));
        cmd.Parameters["@vscodlocal"].Value = vscodlocal;
        cmd.Parameters.Add(new SqlParameter("@vsdeslocal", SqlDbType.VarChar, 50));
        cmd.Parameters["@vsdeslocal"].Value = vsdeslocal;
        cmd.Parameters.Add(new SqlParameter("@vhora_rese", SqlDbType.VarChar, 08));
        cmd.Parameters["@vhora_rese"].Value = vhora_rese;

        try
        {
            cnx.Open();
            cmd.ExecuteNonQuery();
            cnx.Close();
            exito = true;
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        return exito;
    }

    [WebMethod]
    public DataSet EstadisticaxHoteles(float nFecDesde, float nFecHasta)
    {

        try
        {
            dts.Clear();
            cnx.ConnectionString = cadena;
            cmd.Connection = cnx;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "usp_EstadisticaxHoteles";
            cmd.Parameters.Add(new SqlParameter("@vnfecdesde", SqlDbType.Float));
            cmd.Parameters.Add(new SqlParameter("@vnfechasta", SqlDbType.Float));
            cmd.Parameters["@vnfecdesde"].Value = nFecDesde;
            cmd.Parameters["@vnfechasta"].Value = nFecHasta;
            ada = new SqlDataAdapter(cmd);
            ada.Fill(dts, "EstadisticaxHoteles");

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

        return dts;
    }

    [WebMethod]
    public DataSet ConsultaReservaHoteles(float nFecDesde, float nFecHasta)
    {

        try
        {
            dts.Clear();
            cnx.ConnectionString = cadena;
            cmd.Connection = cnx;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "usp_ConsultaReservaHoteles";
            cmd.Parameters.Add(new SqlParameter("@vfec_desde", SqlDbType.Float));
            cmd.Parameters.Add(new SqlParameter("@vfec_hasta", SqlDbType.Float));
            cmd.Parameters["@vfec_desde"].Value = nFecDesde;
            cmd.Parameters["@vfec_hasta"].Value = nFecHasta;
            ada = new SqlDataAdapter(cmd);
            ada.Fill(dts, "ConsultaReservaHoteles");

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

        return dts;
    }


    [WebMethod]
    public DataSet ConsultaReservaHotelesxHotel(string vscod_rese, float nFecDesde, float nFecHasta)
    {

        try
        {
            dts.Clear();
            cnx.ConnectionString = cadena;
            cmd.Connection = cnx;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "usp_ConsultaReservaHotelesxHotel";
            cmd.Parameters.Add(new SqlParameter("@vscod_rese", SqlDbType.NVarChar,05));
            cmd.Parameters.Add(new SqlParameter("@vfec_desde", SqlDbType.Float));
            cmd.Parameters.Add(new SqlParameter("@vfec_hasta", SqlDbType.Float));
            cmd.Parameters["@vscod_rese"].Value = vscod_rese;
            cmd.Parameters["@vfec_desde"].Value = nFecDesde;
            cmd.Parameters["@vfec_hasta"].Value = nFecHasta;
            ada = new SqlDataAdapter(cmd);
            ada.Fill(dts, "ConsultaReservaHotelesxHotel");

        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }

        return dts;
    }


}
